// 创建图片路由
const router = require('express').Router()

const upload = require('../common/uploadFile/index')
const userimgupload=require('../common/uploadFile/userImg')

const path = require('path')
const fs = require('fs')


// 上传图片
// 地址:/api/photo/upload
// 方式:POST
// 参数:photo 
// 响应数据:json
// 示例:http://localhost:4000/api/photo/upload
router.post('/upload',upload.single('photo'), async(req,res)=>{
    let file = req.file;
    if(file==undefined){
        res.send({
            code:-1,
            msg:'上传图片失败1'
        })
    }
    else{
        // /static/imgs/xxx.jpg
        let picUrl = `/static/imgs/${file.filename};`
        if(picUrl){
            res.send({
                code:200,
                msg:"上传图片成功",
                picUrl,
            })
        }
        else{
            res.send({code:-1,msg:"上传图片失败2"});
        }
    }
})

// 上传头像
// 地址:/api/photo/userImg
// 方式:POST
// 参数:photo 
// 响应数据:json
// 示例:http://localhost:4000/api/photo/userImg
router.post('/userImg',userimgupload.single('photo'), async(req,res)=>{
    let file = req.file;
    if(file==undefined){
        res.send({
            code:-1,
            msg:'上传图片失败1'
        })
    }
    else{
        // /static/images/xxx.jpg
        let picUrl = `/static/images/${file.filename};`
        if(picUrl){
            res.send({
                code:200,
                msg:"上传图片成功",
                picUrl,
            })
        }
        else{
            res.send({code:-1,msg:"上传图片失败2"});
        }
    }
})


// 删除图片
// 地址: /api/photo/delete
// 参数:picUrl,dirName(可选)
// 格式:json
// 示例: http://localhost:4000/api/photo/delete
router.post('/delete',async(req,res)=>{
    //相对地址 http://
    let picUrl = req.body.picUrl;
    // 文件夹名称
    let dirName = req.body.dirName||'imgs';
    if(picUrl==undefined){
        res.send({
            code:-1,
            msg:"缺少参数"
        })
    }
    else{
        let index = picUrl.indexOf(dirName);
        if(index>-1){
            let temp_path = path.join(__dirname,'../public/',picUrl.slice(index));
            fs.unlink(temp_path,(err)=>{
                if(err){
                    res.send({code:-1,msg:"删除失败"})
                }
                else{
                    res.send({code:200,msg:'删除成功'})
                }
            })
            
        }else{
            res.send({
                code:404,
                msg:"路径不存在"
            })
        }
    }
})









// 把图片路由挂在系统对象上
module.exports= router;